//
// Created by 16933 on 2022/11/21.
//

#ifndef DATASTRUCTURE_PROJECT_ALGORITHM_DIJKSTRA_H
#define DATASTRUCTURE_PROJECT_ALGORITHM_DIJKSTRA_H

#include "SystemControl.h"

///** 算法顶点信息结构体 **/


void Dijkstra_Init(DijkstraControler* controler,SystemControler* system_data);
void Dijkstra_Relese(DijkstraControler* controler);
void Dijkstra_Loop(DijkstraControler* controler);
void Dijkstra_Find_Path(DijkstraControler* controler);
void Update_Distance_Predecessor(DijkstraControler* controler,int comfirmed_point);
void Update_Confirmed_Node(DijkstraControler* controler);
void Update_predecessor_node(DijkstraControler* controler,int predecessor_node,int node);

int Find_Min(int data,int index);
#endif //DATASTRUCTURE_PROJECT_ALGORITHM_DIJKSTRA_H
